In [1]:
import pandas as pd
In [4]:
df = pd.read_excel('Тестовое задание Аналитик Данных.xlsx')
df = df[['Идентификатор','Группа','Подавал заявку на кредит','Получил одобрение на кредит','Оформил Кредит','Сумма кредита']]
df = df.fillna(0)
df
Out[4]:
Идентификатор Группа Подавал заявку на кредит Получил одобрение на кредит Оформил Кредит Сумма кредита
0 18602163.0 Сегмент A 1.0 1.0 1.0 100000.0
1 18615389.0 Сегмент A 1.0 1.0 1.0 100000.0
2 18628615.0 Сегмент A 1.0 1.0 1.0 100000.0
3 18641841.0 Сегмент A 1.0 1.0 1.0 100000.0
4 18655067.0 Сегмент A 1.0 1.0 1.0 100000.0
... ... ... ... ... ... ...
14995 89295133.0 Сегмент C 0.0 0.0 0.0 0.0
14996 89308359.0 Сегмент C 0.0 0.0 0.0 0.0
14997 89321585.0 Сегмент C 0.0 0.0 0.0 0.0
14998 89334811.0 Сегмент C 0.0 0.0 0.0 0.0
14999 89348037.0 Сегмент C 0.0 0.0 0.0 0.0

15000 rows × 6 columns

Показатели¶

In [13]:
group_by = df.groupby('Группа')[['Подавал заявку на кредит','Получил одобрение на кредит','Оформил Кредит','Сумма кредита']].sum()
group_by
Out[13]:
Подавал заявку на кредит Получил одобрение на кредит Оформил Кредит Сумма кредита
Группа
Сегмент A 750.0 450.0 240.0 24000000.0
Сегмент B 500.0 410.0 230.0 34500000.0
Сегмент C 900.0 300.0 230.0 23000000.0

I - Интерес к получению кредита¶

   Подача заявки на кредит: Этот этап позволяет оценить интерес клиентов к кредиту. Вы можете проанализировать, сколько клиентов из каждой группы подали заявку на кредит. Если одна из групп существенно чаще подаёт заявки, это может указывать на больший интерес к кредиту в этой группе.
In [12]:
import pandas as pd
import matplotlib.pyplot as plt

group_counts = df['Группа'].value_counts()

# Построение столбчатой диаграммы
plt.figure(figsize=(15, 8))  # Размер графика
plt.bar(group_counts.index, group_counts.values, color='skyblue')

# Добавление процентных значений над столбцами
total_records = len(df)
for i, count in enumerate(group_counts):
    percentage = (count / total_records) * 100
    plt.text(i, count + 5, f'{percentage:.2f}%', ha='center')

# Настройки графика
plt.xlabel('Группа')
plt.ylabel('Количество')
plt.title('Количество записей в каждой группе с процентным отношением')
plt.xticks(rotation=45)  # Поворот меток по оси x для лучшей читаемости

# Отображение графика
plt.show()

Группа С проявляет повышенный интерес к получению кредита.¶

--------------------------------------------------------¶

II - Одобрения кредита¶

Получение одобрения на кредит: Здесь важно оценить, какая доля клиентов из каждой группы получила одобрение на кредит. Если одна из групп имеет более высокий процент одобрений, это может указывать на более высокую кредитоспособность этой группы.

In [23]:
group_by['Процент одобрения'] = (group_by['Получил одобрение на кредит'] / group_by['Подавал заявку на кредит']) * 100
group_by = group_by.reset_index(False)
group_by
Out[23]:
index Группа Подавал заявку на кредит Получил одобрение на кредит Оформил Кредит Сумма кредита Процент одобрения
0 0 Сегмент A 750.0 450.0 240.0 24000000.0 60.000000
1 1 Сегмент B 500.0 410.0 230.0 34500000.0 82.000000
2 2 Сегмент C 900.0 300.0 230.0 23000000.0 33.333333
In [24]:
import plotly.express as px
fig = px.pie(group_by, names='Группа', values='Процент одобрения', title='Процент одобрения по категориям')
fig.show()

Отсюда можно узнать что группа B кредитоспособные¶

III Финансовая устойчивость¶

Большие суммы могут быть индикатором лучшей финансовой устойчивости, но также могут повышать риски для кредитора.

In [46]:
df_filtered = df[(df['Получил одобрение на кредит'] == 1) & (df['Сумма кредита'] != 0 )][['Группа','Сумма кредита']]
mean = df_filtered.groupby('Группа')['Сумма кредита'].mean().reset_index()
mean
Out[46]:
Группа Сумма кредита
0 Сегмент A 100000.0
1 Сегмент B 150000.0
2 Сегмент C 100000.0
In [49]:
fig = px.bar(mean, x='Группа', y='Сумма кредита', title='Средняя сумма кредита')
fig.show()
In [ ]: